package com.xydtech.ecard.config.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xydtech.common.annotation.Excel;
import com.xydtech.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 电子名片业务填报个人类信息对象 ecard_busi_report_person
 *
 * @author yuzhiguo
 * @date 2024-09-29 下午1:52
 */
public class EcardBusiReportPerson extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 客户姓名 */
    @Excel(name = "客户姓名")
    private String perCustName;

    /** 业务唯一标识 */
    private String busiCode;

    /** 业务名称 */
    @Excel(name = "业务名称")
    private String busiName;

    /** 积分 */
    @Excel(name = "积分")
    private String integralNums;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String perCustPhone;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String perCustIdcard;

    /** 营销日期 */
    @Excel(name = "营销日期")
    private String perMarketingDate;

    /** 社保卡类别 */
    @Excel(name = "社保卡类别", dictType = "ecard_busi_per_social_type")
    private String perSocialType;

    /** 存款类型 */
    @Excel(name = "存款类型", dictType = "ecard_busi_per_deposit_type")
    private String perDepositType;

    /** 存款金额 */
    @Excel(name = "存款金额")
    private Float perDepositAmount;

    /** 存款期限 */
    @Excel(name = "存款期限", dictType = "ecard_busi_per_deposit_term")
    private String perDepositTerm;

    /** 贷款类型 */
    @Excel(name = "贷款类型", dictType = "ecard_busi_per_loan_type")
    private String perLoanType;

    /** 贷款金额 */
    @Excel(name = "贷款金额")
    private Float perLoanAmount;

    /** 贷款期限 */
    @Excel(name = "贷款期限", dictType = "ecard_busi_per_loan_term")
    private String perLoanTerm;

    /** 贷款利率（%） */
    @Excel(name = "贷款利率")
    private Float perLoanRate;

    /** 创建人注册ID */
    private Long creatorId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:MM:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:MM:ss")
    private Date creationTime;

    /** 创建人机构id */
    private Long deptId;

    /** 管户人id */
    private Long managementPersonnelId;

    /** 营销经理 */
    @Excel(name = "营销经理")
    private String userName;

    /** 员工号 */
    @Excel(name = "员工号")
    private String userCode;

    /** 归属机构 */
    @Excel(name = "归属机构")
    private String deptName;

    /** 状态0停用,1启用 */
    private Integer state;

    /** 字典机构查询条件 */
    private Long dictDeptId;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setPerCustName(String perCustName)
    {
        this.perCustName = perCustName;
    }

    public String getPerCustName()
    {
        return perCustName;
    }

    public String getBusiCode() {
        return busiCode;
    }

    public void setBusiCode(String busiCode) {
        this.busiCode = busiCode;
    }

    public String getBusiName() {
        return busiName;
    }

    public void setBusiName(String busiName) {
        this.busiName = busiName;
    }

    public String getIntegralNums() {
        return integralNums;
    }

    public void setIntegralNums(String integralNums) {
        this.integralNums = integralNums;
    }

    public void setPerCustPhone(String perCustPhone)
    {
        this.perCustPhone = perCustPhone;
    }

    public String getPerCustPhone()
    {
        return perCustPhone;
    }
    public void setPerCustIdcard(String perCustIdcard)
    {
        this.perCustIdcard = perCustIdcard;
    }

    public String getPerCustIdcard()
    {
        return perCustIdcard;
    }
    public void setPerMarketingDate(String perMarketingDate)
    {
        this.perMarketingDate = perMarketingDate;
    }

    public String getPerMarketingDate()
    {
        return perMarketingDate;
    }
    public void setPerSocialType(String perSocialType)
    {
        this.perSocialType = perSocialType;
    }

    public String getPerSocialType()
    {
        return perSocialType;
    }
    public void setPerDepositType(String perDepositType)
    {
        this.perDepositType = perDepositType;
    }

    public String getPerDepositType()
    {
        return perDepositType;
    }
    public void setPerDepositAmount(Float perDepositAmount)
    {
        this.perDepositAmount = perDepositAmount;
    }

    public Float getPerDepositAmount()
    {
        return perDepositAmount;
    }
    public void setPerDepositTerm(String perDepositTerm)
    {
        this.perDepositTerm = perDepositTerm;
    }

    public String getPerDepositTerm()
    {
        return perDepositTerm;
    }
    public void setPerLoanType(String perLoanType)
    {
        this.perLoanType = perLoanType;
    }

    public String getPerLoanType()
    {
        return perLoanType;
    }
    public void setPerLoanAmount(Float perLoanAmount)
    {
        this.perLoanAmount = perLoanAmount;
    }

    public Float getPerLoanAmount()
    {
        return perLoanAmount;
    }
    public void setPerLoanTerm(String perLoanTerm)
    {
        this.perLoanTerm = perLoanTerm;
    }

    public String getPerLoanTerm()
    {
        return perLoanTerm;
    }
    public void setPerLoanRate(Float perLoanRate)
    {
        this.perLoanRate = perLoanRate;
    }

    public Float getPerLoanRate()
    {
        return perLoanRate;
    }
    public void setCreatorId(Long creatorId)
    {
        this.creatorId = creatorId;
    }

    public Long getCreatorId()
    {
        return creatorId;
    }
    public void setCreationTime(Date creationTime)
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime()
    {
        return creationTime;
    }
    public void setUserCode(String userCode)
    {
        this.userCode = userCode;
    }

    public String getUserCode()
    {
        return userCode;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setManagementPersonnelId(Long managementPersonnelId)
    {
        this.managementPersonnelId = managementPersonnelId;
    }

    public Long getManagementPersonnelId()
    {
        return managementPersonnelId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public void setState(Integer state)
    {
        this.state = state;
    }

    public Integer getState()
    {
        return state;
    }

    public Long getDictDeptId() {
        return dictDeptId;
    }

    public void setDictDeptId(Long dictDeptId) {
        this.dictDeptId = dictDeptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("perCustName", getPerCustName())
                .append("busiCode", getBusiCode())
                .append("busiName", getBusiName())
                .append("integralNums", getIntegralNums())
                .append("perCustPhone", getPerCustPhone())
                .append("perCustIdcard", getPerCustIdcard())
                .append("perMarketingDate", getPerMarketingDate())
                .append("perSocialType", getPerSocialType())
                .append("perDepositType", getPerDepositType())
                .append("perDepositAmount", getPerDepositAmount())
                .append("perDepositTerm", getPerDepositTerm())
                .append("perLoanType", getPerLoanType())
                .append("perLoanAmount", getPerLoanAmount())
                .append("perLoanTerm", getPerLoanTerm())
                .append("perLoanRate", getPerLoanRate())
                .append("creatorId", getCreatorId())
                .append("creationTime", getCreationTime())
                .append("userCode", getUserCode())
                .append("deptId", getDeptId())
                .append("managementPersonnelId", getManagementPersonnelId())
                .append("userName", getUserName())
                .append("deptName", getDeptName())
                .append("state", getState())
                .append("remark", getRemark())
                .append("dictDeptId", getDictDeptId())
                .toString();
    }
}
